/*
 * @lc app=leetcode.cn id=697 lang=javascript
 *
 * [697] 数组的度
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */
var findShortestSubArray = function(nums) {
    let map=new Map()
    let max=0
    let res=[]
    nums.forEach((item)=>{
        if(map.has(item)){
           map.set(item,map.get(item)+1)
           if(map.get(item)>max){
               res=[item]
               max=map.get(item)
           }else if(map.get(item)==max){
               res.push(item)
           }
        }else{
            map.set(item,1)
        }
    })
    if(max==0)return 1
   let min=Infinity
    res.forEach((item)=>{
        min=Math.min(min,nums.lastIndexOf(item)-nums.indexOf(item)+1)
    })
   return min
};
// @lc code=end

